package com.TheyChat.service.config.auth.entity;


import com.TheyChat.service.config.core.enums.StatusEnum;
import com.TheyChat.service.config.core.enums.UserTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @Author: victor.w.ye
 * @Date: 2021/2/20 17:31
 * @Copyright:
 * @Company: luban
 * @Version: 1.0.0
 **/
@Data
@ApiModel(value = "用户认证信息", description = "用户认证信息")
public class UserAuthInfo implements Serializable {
    /***
     * 用户ID
     */
    @ApiModelProperty("用户ID")
    private String id;
    /***
     * 用户登录名
     */
    @ApiModelProperty("用户登录名")
    private String username;

    @ApiModelProperty("用户登录密码（不返回）")
    private String userPwd;
    /***
     * 用户真实姓名
     */
    @ApiModelProperty("用户显示名")
    private String userRealName;
    /***
     * 用户所属组织ID
     */
    @ApiModelProperty("用户所属组织ID")
    private String orgId;

    /***
     * 用户所属组织编码
     */
    @ApiModelProperty("用户所属组织编码")
    private String orgCode;


    /***
     * 用户所属组织层级编码
     */
    @ApiModelProperty("用户所属组织层级编码")
    private String levelCode;
    /***
     * 用户所属组织名称
     */
//    @ApiModelProperty("用户所属组织名称")
//    private String orgName;

    @ApiModelProperty("用户角色id")
    private String roleId;
    /***
     * 用户所属项目组织ID
     */
//    @ApiModelProperty("用户所属项目组织ID")
//    private String projOrgId;
//    /***
//     * 用户所属项目组织名称
//     */
//    @ApiModelProperty("用户所属项目组织名称")
//    private String projOrgName;


    /***
     * 用户所属项目组织ID
     */
//    @ApiModelProperty("用户供方所属项目组织ID")
//    private String gfOrgId;
//    /***
//     * 用户所属项目组织名称
//     */
//    @ApiModelProperty("用户供方所属项目组织名称")
//    private String gfProjOrgId;

    @ApiModelProperty("用户类型(0 普通用户/1 管理员/2 超级管理员)")
    private UserTypeEnum userType;

    /***
     * 用户所属项目组织Code
     */
//    @ApiModelProperty("用户所属项目组织Code")
//    private String projOrgCode;
//
//    /***
//     * 用户所属项目组织Code
//     */
//    @ApiModelProperty("用户所属项目组织类型")
//    private String projOrgType;

    /***
     * 用户token
     */
    @ApiModelProperty("用户token")
    private String token;

    /***
     * 用户供方token
     */
//    @ApiModelProperty("用户供方token")
//    private String gfToken;

    /***
     * 是否双方用户
     */
//    @ApiModelProperty("是否双方用户")
//    private YesNoEnum isBothUser;




    @ApiModelProperty("用户状态")
    private StatusEnum status;

    @ApiModelProperty("用户状态描述")
    private String statusText;

    public String getStatusText() {
        StatusEnum status = this.getStatus();
        return status == null ? "" : status.getDesc();
    }
}
